package com.battle.service.repository.in;

import com.battle.pojo.dto.role.UserRoleDto;
import com.battle.pojo.entity.PersonMpWarCase;
import com.battle.pojo.enums.PersonMpWarCaseTypeEnum;
import com.battle.pojo.vo.personMpWarCase.GetPersonMpWarCaseDownListVo;
import nirvana.core.repository.IRepository;
import java.util.Map;
import java.util.List;

/**
* 【描 述】：
* 【环 境】：J2SE
* 【详 细】：
*
*/
public interface PersonMpWarCaseRepository extends IRepository< PersonMpWarCase > {



    /**
    * 获取Map
    * @param ids
    * @return
    */
    Map<Long, PersonMpWarCase> getMap(List<Long> ids);

    /**
     * 批量获取fid的人员战力表
     * @param fids
     * @return
     */
    Map<Long, List<GetPersonMpWarCaseDownListVo>> getDtoByFids(List<Long> fids);

    /**
     * 根据fid和type获取人员战力mp表
     * @param fid
     * @param type
     * @return
     */
    List<PersonMpWarCase> getByFidAndType(Long fid, PersonMpWarCaseTypeEnum type);

    /**
     * 根据人员id查看关联的队伍或者车辆
     * @param personId
     * @return
     */
    List<PersonMpWarCase> getByPerson(Long personId);

    /**
     * 根据人员id删除人员战力mp表
     * @param personId
     */
    void removeByPersonId(Long personId);

    /**
     * 根据fid和type删除人员战力mp表
     * @param fid
     * @param type
     */
    void removeByFidAndType(Long fid, PersonMpWarCaseTypeEnum type);
    /**
     * 批量添加人员战力mp表
     * @param type
     * @param fid
     * @param personIds
     */
    void bathAddPersonMpWarCase(PersonMpWarCaseTypeEnum type, Long fid, List<Long> personIds);



}